import request from '@/utils/request'

/**
 * 词根相关API
 */
export default {
  /**
   * 获取词根列表
   * @param {Object} params - 查询参数
   * @returns {Promise}
   */
  getRoots(params) {
    return request({
      url: '/roots',
      method: 'get',
      params
    })
  },

  /**
   * 获取词根详情
   * @param {Number|String} id - 词根ID
   * @returns {Promise}
   */
  getRoot(id) {
    return request({
      url: `/roots/${id}`,
      method: 'get'
    })
  },

  /**
   * 创建词根
   * @param {Object} data - 词根数据
   * @returns {Promise}
   */
  createRoot(data) {
    return request({
      url: '/roots',
      method: 'post',
      data
    })
  },

  /**
   * 更新词根
   * @param {Number|String} id - 词根ID
   * @param {Object} data - 词根数据
   * @returns {Promise}
   */
  updateRoot(id, data) {
    return request({
      url: `/roots/${id}`,
      method: 'put',
      data
    })
  },

  /**
   * 删除词根
   * @param {Number|String} id - 词根ID
   * @returns {Promise}
   */
  deleteRoot(id) {
    return request({
      url: `/roots/${id}`,
      method: 'delete'
    })
  },

  /**
   * 搜索词根
   * @param {Object} params - 搜索参数
   * @returns {Promise}
   */
  searchRoots(params) {
    return request({
      url: '/roots/search',
      method: 'get',
      params
    })
  },

  /**
   * 获取词根相关单词
   * @param {Number|String} id - 词根ID
   * @param {Object} params - 查询参数
   * @returns {Promise}
   */
  getRootWords(id, params) {
    return request({
      url: `/roots/${id}/words`,
      method: 'get',
      params
    })
  },

  /**
   * 导入词根
   * @param {Object} data - 导入数据
   * @returns {Promise}
   */
  importRoots(data) {
    return request({
      url: '/roots/import',
      method: 'post',
      data
    })
  },

  /**
   * 导出词根
   * @param {Object} params - 导出参数
   * @returns {Promise}
   */
  exportRoots(params) {
    return request({
      url: '/roots/export',
      method: 'get',
      params,
      responseType: 'blob' // 文件下载
    })
  }
} 